!function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=4)}([function(t,e,n){var r,i,a;!function(o,s){"use strict";i=[n(3)],void 0===(a="function"==typeof(r=function(t){var e=/(^|@)\S+\:\d+/,n=/^\s*at .*(\S+\:\d+|\(native\))/m,r=/^(eval@)?(\[native code\])?$/;function i(t,e,n){if("function"==typeof Array.prototype.map)return t.map(e,n);for(var r=new Array(t.length),i=0;i-1&&(e=e.replace(/eval code/g,"eval").replace(/(\(eval at [^\()]*)|(\)\,.*$)/g,""));var n=e.replace(/^\s+/,"").replace(/\(eval code/g,"(").split(/\s+/).slice(1),r=this.extractLocation(n.pop()),i=n.join(" ")||void 0,a=function(t,e){if("function"==typeof Array.prototype.indexOf)return t.indexOf(e);for(var n=0;n"],r[0])>-1?void 0:r[0];return new t(i,void 0,a,r[1],r[2],e)}),this)},parseFFOrSafari:function(e){return i(a(e.stack.split("\n"),(function(t){return!t.match(r)}),this),(function(e){if(e.indexOf(" > eval")>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval\:\d+\:\d+/g,":$1")),-1===e.indexOf("@")&&-1===e.indexOf(":"))return new t(e);var n=e.split("@"),r=this.extractLocation(n.pop()),i=n.join("@")||void 0;return new t(i,void 0,r[0],r[1],r[2],e)}),this)},parseOpera:function(t){return!t.stacktrace||t.message.indexOf("\n")>-1&&t.message.split("\n").length>t.stacktrace.split("\n").length?this.parseOpera9(t):t.stack?this.parseOpera11(t):this.parseOpera10(t)},parseOpera9:function(e){for(var n=/Line (\d+).*script (?:in )?(\S+)/i,r=e.message.split("\n"),i=[],a=2,o=r.length;a/,"$2").replace(/\([^\)]*\)/g,"")||void 0;a.match(/\(([^\)]*)\)/)&&(n=a.replace(/^[^\(]+\(([^\)]*)\)$/,"$1"));var s=void 0===n||"[arguments not available]"===n?void 0:n.split(",");return new t(o,s,i[0],i[1],i[2],e)}),this)}}})?r.apply(e,i):r)||(t.exports=a)}()},,,function(t,e,n){var r,i,a;!function(n,o){"use strict";i=[],void 0===(a="function"==typeof(r=function(){function t(t){return!isNaN(parseFloat(t))&&isFinite(t)}function e(t,e,n,r,i,a){void 0!==t&&this.setFunctionName(t),void 0!==e&&this.setArgs(e),void 0!==n&&this.setFileName(n),void 0!==r&&this.setLineNumber(r),void 0!==i&&this.setColumnNumber(i),void 0!==a&&this.setSource(a)}return e.prototype={getFunctionName:function(){return this.functionName},setFunctionName:function(t){this.functionName=String(t)},getArgs:function(){return this.args},setArgs:function(t){if("[object Array]"!==Object.prototype.toString.call(t))throw new TypeError("Args must be an Array");this.args=t},getFileName:function(){return this.fileName},setFileName:function(t){this.fileName=String(t)},getLineNumber:function(){return this.lineNumber},setLineNumber:function(e){if(!t(e))throw new TypeError("Line Number must be a Number");this.lineNumber=Number(e)},getColumnNumber:function(){return this.columnNumber},setColumnNumber:function(e){if(!t(e))throw new TypeError("Column Number must be a Number");this.columnNumber=Number(e)},getSource:function(){return this.source},setSource:function(t){this.source=String(t)},toString:function(){return(this.getFunctionName()||"{anonymous}")+("("+(this.getArgs()||[]).join(",")+")")+(this.getFileName()?"@"+this.getFileName():"")+(t(this.getLineNumber())?":"+this.getLineNumber():"")+(t(this.getColumnNumber())?":"+this.getColumnNumber():"")}},e})?r.apply(e,i):r)||(t.exports=a)}()},function(t,e,n){"use strict";n.r(e),n.d(e,"init",(function(){return le})),n.d(e,"apmBase",(function(){return pe})),n.d(e,"ApmBase",(function(){return de})),n.d(e,"apm",(function(){return pe}));var r=function(t){var e=this.constructor;return this.then((function(n){return e.resolve(t()).then((function(){return n}))}),(function(n){return e.resolve(t()).then((function(){return e.reject(n)}))}))},i=setTimeout;function a(t){return Boolean(t&&void 0!==t.length)}function o(){}function s(t){if(!(this instanceof s))throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],l(t,this)}function c(t,e){for(;3===t._state;)t=t._value;0!==t._state?(t._handled=!0,s._immediateFn((function(){var n=1===t._state?e.onFulfilled:e.onRejected;if(null!==n){var r;try{r=n(t._value)}catch(t){return void f(e.promise,t)}u(e.promise,r)}else(1===t._state?u:f)(e.promise,t._value)}))):t._deferreds.push(e)}function u(t,e){try{if(e===t)throw new TypeError("A promise cannot be resolved with itself.");if(e&&("object"==typeof e||"function"==typeof e)){var n=e.then;if(e instanceof s)return t._state=3,t._value=e,void d(t);if("function"==typeof n)return void l((r=n,i=e,function(){r.apply(i,arguments)}),t)}t._state=1,t._value=e,d(t)}catch(e){f(t,e)}var r,i}function f(t,e){t._state=2,t._value=e,d(t)}function d(t){2===t._state&&0===t._deferreds.length&&s._immediateFn((function(){t._handled||s._unhandledRejectionFn(t._value)}));for(var e=0,n=t._deferreds.length;e0)return r}}()}}function I(t){return O(t,m.call(arguments,1),!1)}function j(t){return O(t,m.call(arguments,1),!0)}function F(t){return void 0===t}function A(){}function P(t){return t.replace(/[.*"]/g,"_")}function R(){return _.now()}function q(t){return"number"==typeof t&&t>=0?t:R()}function M(t,e){return F(e)||F(t)?null:parseInt(e-t)}function H(t){g.resolve().then(t)}function z(){return"function"==typeof _.getEntriesByType}function D(t){return"undefined"!=typeof PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.indexOf(t)>=0}var B={fetchInProgress:!1};function U(t){return"__apm_symbol__"+t}function $(t,e,n){for(var r=t;r&&!r.hasOwnProperty(e);)r=Object.getPrototypeOf(r);!r&&t[e]&&(r=t);var i,a,o,s,c=U(e);if(r&&!(i=r[c])){i=r[c]=r[e];var u=r&&Object.getOwnPropertyDescriptor(r,e);if(!(s=u)||!1!==s.writable&&("function"!=typeof s.get||void 0!==s.set)){var f=n(i,c,e);r[e]=function(){return f(this,arguments)},a=r[e],o=i,a[U("OriginalDelegate")]=o}}return i}var V=U("xhrIgnore"),J=U("xhrSync"),X=U("xhrURL"),Z=U("xhrMethod"),G="invoke",W=["link","css","script","img","xmlhttprequest","fetch","beacon","iframe"],K="page-load",Q=[K,"route-change","user-interaction","http-request","custom","temporary"];function Y(t){var e=XMLHttpRequest.prototype;if(e&&e.addEventListener)var n=$(e,"open",(function(){return function(t,e){return t[V]||(t[Z]=e[0],t[X]=e[1],t[J]=!1===e[2]),n.apply(t,e)}})),r=$(e,"send",(function(){return function(e,n){if(e[V])return r.apply(e,n);var a={source:"xmlhttprequest",state:"",type:"macroTask",data:{target:e,method:e[Z],sync:e[J],url:e[X],status:""}};try{return function(e){if("schedule"!==e.state){e.state="schedule",t("schedule",e);var n=e.data.target;r("readystatechange"),r("load"),r("timeout"),r("error"),r("abort")}function r(t){n.addEventListener(t,(function(t){var r=t.type;"readystatechange"===r?4===n.readyState&&0!==n.status&&i(e,"success"):i(e,"load"===r?"success":r)}))}}(a),r.apply(e,n)}catch(t){throw i(a,"error"),t}}}));function i(e,n){e.state!==G&&(e.state=G,e.data.status=n,t(G,e))}}for(var tt=["click"],et={},nt=0;nt=0&&"function"==typeof n}var at=function(){function t(){this.observers={}}var e=t.prototype;return e.observe=function(t,e){var n=this;if("function"==typeof e)return this.observers[t]||(this.observers[t]=[]),this.observers[t].push(e),function(){var r=n.observers[t].indexOf(e);r>-1&&n.observers[t].splice(r,1)}},e.sendOnly=function(t,e){var n=this.observers[t];n&&n.forEach((function(t){try{t.apply(void 0,e)}catch(t){console.log(t,t.stack)}}))},e.send=function(t,e){this.sendOnly(t+":before",e),this.sendOnly(t,e),this.sendOnly(t+":after",e)},t}(),ot=new at,st=!1;function ct(){return st||(st=!0,Y((function(t,e){ot.send("xmlhttprequest",[t,e])})),function(t){if(window.fetch&&window.Request){var e=window.fetch;window.fetch=function(t,i){var a,o,s=this,c=arguments;if("string"==typeof t)a=new Request(t,i),o=t;else{if(!t)return e.apply(s,c);o=(a=t).url}var u={source:"fetch",state:"",type:"macroTask",data:{target:a,method:a.method,url:o,aborted:!1}};return new g((function(t,i){var o;B.fetchInProgress=!0,n(u);try{o=e.apply(s,[a])}catch(t){return i(t),u.data.error=t,r(u),void(B.fetchInProgress=!1)}o.then((function(e){t(e),H((function(){u.data.response=e,r(u)}))}),(function(t){i(t),H((function(){u.data.error=t,r(u)}))})),B.fetchInProgress=!1}))}}function n(e){e.state="schedule",t("schedule",e)}function r(e){e.state=G,t(G,e)}}((function(t,e){ot.send("fetch",[t,e])})),function(t){if(window.history){var e=history.pushState;"function"==typeof e&&(history.pushState=function(n,r,i){var a={source:"history",data:{state:n,title:r,url:i}};t(G,a),e.apply(this,arguments)})}}((function(t,e){ot.send("history",[t,e])})),function(t){if(window.EventTarget){var e=window.EventTarget.prototype,n=e.addEventListener,r=e.removeEventListener;e.addEventListener=function(t,e,r){var i=this;if(!it(i,t,e))return n.apply(i,arguments);var a=o(i,t,e,r),s=Array.prototype.slice.call(arguments);return s[1]=a,n.apply(i,s)},e.removeEventListener=function(t,e,n){var i=this;if(!it(i,t,e))return r.apply(i,arguments);var a=s(i,t,e,n),o=Array.prototype.slice.call(arguments);return o[1]=a,r.apply(i,o)}}function i(t,e,n,r){for(var i=0;i1?["Object",n[n.length-1]].join("."):n[0]).replace(/.<$/gi,".")).replace(/^Anonymous function$/,""),e=(n=e.split(".")).length>1?n[n.length-1]:n[0])),t;var e,n})).map((function(t){var e=t.fileName,n=t.lineNumber,r=t.columnNumber,i=t.functionName,a=void 0===i?"":i;if(!e&&!n)return{};if(!r&&!n)return{};var o,s,c=function(t){return void 0===t&&(t=""),""===t&&(t=""),t}(e),u=(o=c,s=window.location.origin||window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:""),o.indexOf(s)>-1&&(o=o.replace(s+"/","")),o);return function(t){return!!t&&0===window.location.href.indexOf(t)}(c)&&(u="(inline script)"),{abs_path:e,filename:u,function:a,lineno:n,colno:r}}))}var ht=[["#","hash"],["?","query"],["/","path"],["@","auth",1],[NaN,"host",void 0,1]],gt=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\S\s]*)/i,mt=function(){function t(t){var e,n=this.extractProtocol(t||""),r=n.protocol,i=n.address,a=n.slashes,o=!r&&!a,s=this.getLocation(),c=ht.slice();i=i.replace("\\","/"),a||(c[2]=[NaN,"path"]);for(var u=0;u=0||(i[n]=t[n]);return i}(n,["tags"])),i=bt(),a={};if(t.type===K&&z()){var o=_.getEntriesByType("navigation");o&&o.length>0&&(a={response:yt(o[0])})}t.addContext(i,a,r)}var Tt={service:{name:[1024,!0],version:!0,agent:{version:[1024,!0]},environment:!0},labels:{"*":!0}},Et={"*":!0,headers:{"*":!0}},xt={user:{id:!0,email:!0,username:!0},tags:{"*":!0},http:{response:Et},destination:{address:[1024],service:{"*":[1024,!0]}},response:Et},kt={name:[1024,!0],type:[1024,!0],id:[1024,!0],trace_id:[1024,!0],parent_id:[1024,!0],transaction_id:[1024,!0],subtype:!0,action:!0,context:xt},Lt={name:!0,parent_id:!0,type:[1024,!0],id:[1024,!0],trace_id:[1024,!0],span_count:{started:[1024,!0]},context:xt},Ct={id:[1024,!0],trace_id:!0,transaction_id:!0,parent_id:!0,culprit:!0,exception:{type:!0},transaction:{type:!0},context:xt};function Ot(t){return null==t||""===t||void 0===t}function Nt(t,e,n){var r=function(t,e,n,r){return void 0===e&&(e=1024),void 0===n&&(n=!1),void 0===r&&(r="N/A"),n&&Ot(t)&&(t=r),"string"==typeof t?t.substring(0,e):t}(t[e],n[0],n[1]);Ot(r)?delete t[e]:t[e]=r}function It(t,e,n){void 0===t&&(t={}),void 0===n&&(n=e);for(var r=Object.keys(t),i=[],a=function(a){var o=r[a],s=!0===t[o]?i:t[o];Array.isArray(s)?"*"===o?Object.keys(n).forEach((function(t){return Nt(n,t,s)})):Nt(n,o,s):It(s,e,n[o])},o=0;o=0)){var i=t[r];if(null!=i&&"function"!=typeof i){if("object"==typeof i){if("function"!=typeof i.toISOString)return;i=i.toISOString()}n[r]=i,e=!0}}})),e)return n}(a);u&&(c.custom=u)}s||o&&o.indexOf(":")>-1&&(s=o.split(":")[0]);var f=this._transactionService.getCurrentTransaction(),d=f?f.context:{},p=this._configService.get("context"),l=(p.tags,function(t,e){if(null==t)return{};var n,r,i={},a=Object.keys(t);for(r=0;r=0||(i[n]=t[n]);return i}(p,["tags"])),v=j({},bt(),d,l,c),h={id:T(),culprit:n,exception:{message:o,stacktrace:e,type:s},context:v};return f&&(h=I(h,{trace_id:f.traceId,parent_id:f.id,transaction_id:f.id,transaction:{type:f.type,sampled:f.sampled}})),It(Ct,h)},e.logErrorEvent=function(t){if(void 0!==t){var e=this.createErrorDataModel(t);void 0!==e.exception.message&&this._apmServer.addError(e)}},e.registerListeners=function(){var t=this;window.addEventListener("error",(function(e){return t.logErrorEvent(e)})),window.addEventListener("unhandledrejection",(function(e){return t.logPromiseEvent(e)}))},e.logPromiseEvent=function(t){var e,n="Unhandled promise rejection: ",r=t.reason,i=void 0===r?"":r;"string"==typeof i.message?e={error:i,message:n+(i.name?i.name+": ":"")+i.message}:e={message:n+(i="object"==typeof i?"":"function"==typeof i?"":i)};this.logErrorEvent(e)},e.logError=function(t){var e={};return"string"==typeof t?e.message=t:e.error=t,this.logErrorEvent(e)},t}(),At=function(){function t(t,e){void 0===e&&(e={}),this.onFlush=t,this.items=[],this.queueLimit=e.queueLimit||-1,this.flushInterval=e.flushInterval||0,this.timeoutId=void 0}var e=t.prototype;return e._setTimer=function(){var t=this;this.timeoutId=setTimeout((function(){return t.flush()}),this.flushInterval)},e._clear=function(){void 0!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=void 0),this.items=[]},e.flush=function(){this.onFlush(this.items),this._clear()},e.add=function(t){this.items.push(t),-1!==this.queueLimit&&this.items.length>=this.queueLimit?this.flush():void 0===this.timeoutId&&this._setTimer()},t}();var Pt=function(){function t(){}return t.stringify=function(t){return JSON.stringify(t)+"\n"},t}(),Rt=function(){function t(t,e,n){void 0===n&&(n={}),t||(t="Unknown"),e||(e="custom"),this.name=t,this.type=e,this.options=n,this.id=n.id||T(16),this.traceId=n.traceId,this.sampled=n.sampled,this.timestamp=n.timestamp,this._start=q(n.startTime),this._end=void 0,this.ended=!1,this.outcome=void 0,this.onEnd=n.onEnd}var e=t.prototype;return e.ensureContext=function(){this.context||(this.context={})},e.addLabels=function(t){this.ensureContext();var e=this.context;e.tags||(e.tags={}),Object.keys(t).forEach((function(n){return k(n,t[n],e.tags)}))},e.addContext=function(){for(var t=arguments.length,e=new Array(t),n=0;n=i&&e>t&&t-i>=n&&e-i<=r&&e-t<3e5&&t-i<3e5&&e-i<3e5}function zt(t){var e=t.name,n=t.initiatorType,r=t.startTime,i=t.responseEnd,a="resource";n&&(a+="."+n);var o=L(e),s=new qt(o,a);return s._start=r,s.end(i,{url:e,entry:t}),s}function Dt(t,e){return null!=e&&t>e}var Bt=["fetchStart","domainLookupStart","domainLookupEnd","connectStart","connectEnd","requestStart","responseStart","responseEnd","domLoading","domInteractive","domContentLoadedEventStart","domContentLoadedEventEnd","domComplete","loadEventStart","loadEventEnd"],Ut=["fs","ls","le","cs","ce","qs","rs","re","dl","di","ds","de","dc","es","ee"];function $t(t){var e=function(t){var e=t.fetchStart,n=t.navigationStart,r=t.responseStart,i=t.responseEnd;if(e>=n&&r>=e&&i>=r){var a={};return Bt.forEach((function(n){var r=t[n];r&&r>=e&&(a[n]=parseInt(r-e))})),a}return null}(t);return null==e?null:{navigationTiming:e,agent:{timeToFirstByte:e.responseStart,domInteractive:e.domInteractive,domComplete:e.domComplete}}}function Vt(t){if(t.captureTimings){var e=t._end;if(t.type===K){if(t.marks&&t.marks.custom){var n=t.marks.custom;Object.keys(n).forEach((function(e){n[e]+=t._start}))}t._start=0;var r=_.timing;(function(t,e,n,r){for(var i=[],a=0;aa&&"function"==typeof e?e.apply(i,arguments):t.apply(i,arguments)}}(this.queue.add.bind(this.queue),(function(){return t._loggingService.warn("Dropped events due to throttling!")}),{limit:r,interval:6e4})},e._postJson=function(t,e){var n=this,r={"Content-Type":"application/x-ndjson"};return function(t,e,n){void 0===n&&(n="gzip");var r="function"==typeof CompressionStream;return new g((function(i){if(!r)return i({payload:t,headers:e});var a=new Blob([t]).stream().pipeThrough(new CompressionStream(n));return new Response(a).blob().then((function(t){return e["Content-Encoding"]=n,i({payload:t,headers:e})}))}))}(e,r).catch((function(t){return{payload:e,headers:r}})).then((function(e){return n._makeHttpRequest("POST",t,e)})).then((function(t){return t.responseText}))},e._constructError=function(t){var e=t.url,n=t.status;t.responseText;if(void 0===n)return t;var r=e+" HTTP status: "+n;return new Error(r)},e._makeHttpRequest=function(t,e,n){var r=void 0===n?{}:n,i=r.timeout,a=void 0===i?1e4:i,o=r.payload,s=r.headers;return new g((function(n,r){var i=new window.XMLHttpRequest;if(i[V]=!0,i.open(t,e,!0),i.timeout=a,s)for(var c in s)s.hasOwnProperty(c)&&i.setRequestHeader(c,s[c]);i.onreadystatechange=function(){if(4===i.readyState){var t=i.status,a=i.responseText;0===t||t>399&&t<600?r({url:e,status:t,responseText:a}):n(i)}},i.onerror=function(){var t=i.status,n=i.responseText;r({url:e,status:t,responseText:n})},i.send(o)}))},e.fetchConfig=function(t,e){var n=this,r=this._configService.get("serverUrl")+"/config/v1/rum/agents";if(!t)return g.reject("serviceName is required for fetching central config.");r+="?service.name="+t,e&&(r+="&service.environment="+e);var i=this._configService.getLocalConfig();return i&&(r+="&ifnonematch="+i.etag),this._makeHttpRequest("GET",r,{timeout:5e3}).then((function(t){var e=t.status,r=t.responseText;if(304===e)return i;var a=JSON.parse(r),o=t.getResponseHeader("etag");return o&&(a.etag=o.replace(/["]/g,""),n._configService.setLocalConfig(a)),a})).catch((function(t){var e=n._constructError(t);return g.reject(e)}))},e.createMetaData=function(){var t=this._configService,e={service:{name:t.get("serviceName"),version:t.get("serviceVersion"),agent:{name:"rum-js",version:t.version},language:{name:"javascript"},environment:t.get("environment")},labels:t.get("context.tags")};return It(Tt,e)},e.addError=function(t){var e;this.throttleEvents(((e={}).errors=t,e))},e.addTransaction=function(t){var e;this.throttleEvents(((e={}).transactions=t,e))},e.ndjsonErrors=function(t,e){var n=e?"e":"error";return t.map((function(t){var r;return Pt.stringify(((r={})[n]=e?function(t){var e,n=t.exception,r={id:t.id,cl:t.culprit,ex:{mg:n.message,st:(e=n.stacktrace,e.map((function(t){return{ap:t.abs_path,f:t.filename,fn:t.function,li:t.lineno,co:t.colno}}))),t:t.type},c:Xt(t.context)},i=t.transaction;return i&&(r.tid=t.trace_id,r.pid=t.parent_id,r.xid=t.transaction_id,r.x={t:i.type,sm:i.sampled}),r}(t):t,r))}))},e.ndjsonMetricsets=function(t){return t.map((function(t){return Pt.stringify({metricset:t})})).join("")},e.ndjsonTransactions=function(t,e){var n=this,r=e?"x":"transaction";return t.map((function(t){var i,a="",o="";return e||(t.spans&&(a=t.spans.map((function(t){return Pt.stringify({span:t})})).join(""),delete t.spans),t.breakdown&&(o=n.ndjsonMetricsets(t.breakdown),delete t.breakdown)),Pt.stringify(((i={})[r]=e?function(t){var e,n=t.spans.map((function(e){var n={id:e.id,n:e.name,t:e.type,s:e.start,d:e.duration,c:Xt(e.context),o:e.outcome};return e.parent_id!==t.id&&(n.pid=e.parent_id),!0===e.sync&&(n.sy=!0),e.subtype&&(n.su=e.subtype),e.action&&(n.ac=e.action),n})),r={id:t.id,tid:t.trace_id,n:t.name,t:t.type,d:t.duration,c:Xt(t.context),m:Zt(t.marks),me:(e=t.breakdown,e.map((function(t){var e=t.span,n=t.samples,r=null!=e;return r?{y:{t:e.type},sa:{ysc:{v:n["span.self_time.count"].value},yss:{v:n["span.self_time.sum.us"].value}}}:{sa:{xdc:{v:n["transaction.duration.count"].value},xds:{v:n["transaction.duration.sum.us"].value},xbc:{v:n["transaction.breakdown.count"].value}}}}))),y:n,yc:{sd:n.length},sm:t.sampled,o:t.outcome};if(t.experience){var i=t.experience,a=i.cls,o=i.fid,s=i.tbt,c=i.longtask;r.exp={cls:a,fid:o,tbt:s,lt:c}}return r}(t):t,i))+a+o}))},e.sendEvents=function(t){var e,n;if(0!==t.length){for(var r=[],i=[],a=0;a2,p=[],l=this.createMetaData(),v=d?"m":"metadata";p.push(Pt.stringify(((n={})[v]=d?function(t){var e=t.service,n=t.labels,r=e.agent,i=e.language;return{se:{n:e.name,ve:e.version,a:{n:r.name,ve:r.version},la:{n:i.name},en:e.environment},l:n}}(l):l,n)));var h=(p=p.concat(this.ndjsonErrors(u.errors,d),this.ndjsonTransactions(u.transactions,d))).join(""),g=s.get("serverUrl")+"/intake/v"+f+"/rum/events";return this._postJson(g,h)}this._loggingService.warn("Dropped payload due to filtering!")}}},t}();var Wt,Kt=function(){function t(){this.config={serviceName:"",serviceVersion:"",environment:"",serverUrl:"http://localhost:8200",active:!0,instrument:!0,disableInstrumentations:[],logLevel:"warn",breakdownMetrics:!1,ignoreTransactions:[],eventsLimit:80,queueLimit:-1,flushInterval:500,distributedTracing:!0,distributedTracingOrigins:[],distributedTracingHeaderName:"traceparent",pageLoadTraceId:"",pageLoadSpanId:"",pageLoadSampled:!1,pageLoadTransactionName:"",transactionSampleRate:1,centralConfig:!1,monitorLongtasks:!0,apiVersion:2,context:{}},this.events=new at,this.filters=[],this.version=""}var e=t.prototype;return e.init=function(){var t=function(t){if(!t)return{};for(var e={},n=/^data-([\w-]+)$/,r=t.attributes,i=0;i0?t.charAt(0).toUpperCase()+t.substring(1):t})).join("");e[o]=a.value||a.nodeValue}}return e}(N());this.setConfig(t)},e.setVersion=function(t){this.version=t},e.addFilter=function(t){if("function"!=typeof t)throw new Error("Argument to must be function");this.filters.push(t)},e.applyFilters=function(t){for(var e=0;e0&&(n=1e-4),t.transactionSampleRate=Math.round(1e4*n)/1e4),j(this.config,t),this.events.send("config:change",[this.config])},e.validate=function(t){void 0===t&&(t={});var e=["serviceName","serverUrl"],n={missing:[],invalid:[]};Object.keys(t).forEach((function(r){-1===e.indexOf(r)||t[r]||n.missing.push(r)})),t.serviceName&&!/^[a-zA-Z0-9 _-]+$/.test(t.serviceName)&&n.invalid.push({key:"serviceName",value:t.serviceName,allowed:"a-z, A-Z, 0-9, _, -, "});var r=t.transactionSampleRate;return void 0!==r&&("number"!=typeof r||isNaN(r)||r<0||r>1)&&n.invalid.push({key:"transactionSampleRate",value:r,allowed:"Number between 0 and 1"}),n},e.getLocalConfig=function(){var t=sessionStorage.getItem("elastic_apm_config");if(t)return JSON.parse(t)},e.setLocalConfig=function(t){t&&sessionStorage.setItem("elastic_apm_config",JSON.stringify(t))},t}(),Qt=function(){function t(t){void 0===t&&(t={}),this.levels=["trace","debug","info","warn","error"],this.level=t.level||"warn",this.prefix=t.prefix||"",this.resetLogMethods()}var e=t.prototype;return e.shouldLog=function(t){return this.levels.indexOf(t)>=this.levels.indexOf(this.level)},e.setLevel=function(t){t!==this.level&&(this.level=t,this.resetLogMethods())},e.resetLogMethods=function(){var t=this;this.levels.forEach((function(e){t[e]=t.shouldLog(e)?function(){var t=e;"trace"!==e&&"debug"!==e||(t="info");var n=arguments;if(n[0]=this.prefix+n[0],console){var r=console[t]||console.log;"function"==typeof r&&r.apply(console,n)}}:A}))},t}(),Yt=((Wt={}).ConfigService=function(){return new Kt},Wt.LoggingService=function(){return new Qt({prefix:"[Elastic APM] "})},Wt.ApmServer=function(t){var e=t.getService(["ConfigService","LoggingService"]),n=e[0],r=e[1];return new Gt(n,r)},Wt),te=function(){function t(){this.instances={},this.initialized=!1}var e=t.prototype;return e.init=function(){if(!this.initialized){this.initialized=!0;var t=this.getService("ConfigService");t.init();var e=this.getService(["LoggingService","ApmServer"]),n=e[0],r=e[1];t.events.observe("config:change",(function(){var e=t.get("logLevel");n.setLevel(e)})),r.init()}},e.getService=function(t){var e=this;return"string"==typeof t?(this.instances[t]||"function"==typeof Yt[t]&&(this.instances[t]=Yt[t](this)),this.instances[t]):Array.isArray(t)?t.map((function(t){return e.getService(t)})):void 0},t}();var ee=function(){function t(t,e,n,r){this._apmServer=t,this._configService=e,this._logginService=n,this._transactionService=r}var e=t.prototype;return e.init=function(t){var e=this;void 0===t&&(t={}),this._configService.events.observe("transaction:end:after",(function(t){var n=e.createTransactionPayload(t);n&&e._apmServer.addTransaction(n)})),t.history&&ot.observe("history",this.getHistorySub()),t.xmlhttprequest&&ot.observe("xmlhttprequest",this.getXHRSub()),t.fetch&&ot.observe("fetch",this.getFetchSub()),t.eventtarget&&ot.observe("eventtarget",this.getEventTargetSub())},e.getEventTargetSub=function(){var t=this._transactionService;return function(e,n){if("schedule"===e&&"eventtarget"===n.source&&"click"===n.eventType){var r=n.target,i=r.getAttribute("name"),a="";i&&(a='["'+i+'"]');var o=r.tagName.toLowerCase(),s=t.startTransaction("Click - "+o+a,"user-interaction",{managed:!0,canReuse:!0,reuseThreshold:100});if(s){var c=r.getAttribute("class");c&&s.addContext({custom:{classes:c}})}}}},e.getHistorySub=function(){var t=this._transactionService;return function(e,n){"history"===n.source&&e===G&&t.startTransaction(n.data.title,"route-change",{managed:!0,canReuse:!0})}},e.getXHRSub=function(){var t=this;return function(e,n){"xmlhttprequest"!==n.source||B.fetchInProgress||t.processAPICalls(e,n)}},e.getFetchSub=function(){var t=this;return function(e,n){"fetch"===n.source&&t.processAPICalls(e,n)}},e.processAPICalls=function(t,e){var n=this._configService,r=this._transactionService;if("schedule"===t&&e.data){var i=e.data,a=new mt(i.url),o=i.method+" "+(a.relative?a.path:L(a.href));r.getCurrentTransaction()||r.startTransaction(o,"http-request",{managed:!0});var s=r.startSpan(o,"external.http",{blocking:!0});if(!s)return;var c=n.get("distributedTracing"),u=n.get("distributedTracingOrigins"),f=new mt(window.location.href),d=E(a.origin,f.origin)||E(a.origin,u),p=i.target;c&&d&&p&&this.injectDtHeader(s,p),i.sync&&(s.sync=i.sync),i.span=s}else if(t===G){var l=e.data;if(l&&l.span){var v,h,g=l.span,m=l.response,y=l.target;v=m?m.status:y.status,"abort"!=l.status&&(h=v>=400||0==v?"failure":"success"),g.outcome=h;var _=r.getCurrentTransaction();_&&"http-request"===_.type&&(_.outcome=h),r.endSpan(g,l)}}},e.injectDtHeader=function(t,e){var n,r=this._configService.get("distributedTracingHeaderName"),i=function(t){if(t&&t.traceId&&t.id&&t.parentId){var e=t.sampled?"01":"00",n=t.sampled?t.id:t.parentId;return"00-"+t.traceId+"-"+n+"-"+e}}(t),a=/^[\da-f]{2}-[\da-f]{32}-[\da-f]{16}-[\da-f]{2}$/.test(n=i)&&"00000000000000000000000000000000"!==n.slice(3,35)&&"0000000000000000"!==n.slice(36,52);r&&i&&a&&("function"==typeof e.setRequestHeader?e.setRequestHeader(r,i):e.headers&&"function"==typeof e.headers.append?e.headers.append(r,i):e[r]=i)},e.extractDtHeader=function(t){var e=this._configService.get("distributedTracingHeaderName");if(t)return function(t){var e=/^([\da-f]{2})-([\da-f]{32})-([\da-f]{16})-([\da-f]{2})$/.exec(t);if(e){var n="00"!==e[4];return{traceId:e[2],id:e[3],sampled:n}}}(t[e])},e.filterTransaction=function(t){var e=t.duration();if(!e)return!1;if(t.isManaged()){if(e>6e4)return!1;if(t.sampled&&0===t.spans.length)return!1}return!0},e.createTransactionDataModel=function(t){var e=t._start,n=t.spans.map((function(n){var r={id:n.id,transaction_id:t.id,parent_id:n.parentId||t.id,trace_id:t.traceId,name:n.name,type:n.type,subtype:n.subtype,action:n.action,sync:n.sync,start:parseInt(n._start-e),duration:n.duration(),context:n.context,outcome:n.outcome};return It(kt,r)})),r={id:t.id,trace_id:t.traceId,name:t.name,type:t.type,duration:t.duration(),spans:n,context:t.context,marks:t.marks,breakdown:t.breakdownTimings,span_count:{started:n.length},sampled:t.sampled,experience:t.experience,outcome:t.outcome};return It(Lt,r)},e.createTransactionPayload=function(t){var e=function(t){if(t.sampled){var e=t.spans.filter((function(e){return e.duration()>0&&e._start>=t._start&&e._end<=t._end}));if(t.isManaged()){var n=function(t,e,n){t.sort((function(t,e){return t._start-e._start}));var r=[],i=1;return t.forEach((function(a,o){if(0===r.length)r.push(a);else{var s=r[r.length-1],c=s.type===a.type&&s.subtype===a.subtype&&s.action===a.action&&s.name===a.name&&a.duration()/e1&&(!c||u)&&(s.name=i+"x "+s.name,i=1),c||r.push(a)}})),r}(e,t.duration(),.05);t.spans=n}else t.spans=e}else t.resetSpans();return t}(t);if(this.filterTransaction(e))return this.createTransactionDataModel(t)},t}(),ne=[["domainLookupStart","domainLookupEnd","DNS"],["connectStart","connectEnd","TCP"],["requestStart","responseStart","Request"],["responseStart","responseEnd","Response"],["domLoading","domComplete","Processing"],["loadEventStart","loadEventEnd","Load"]];function re(t){return{value:t}}function ie(t,e){var n=e.details,r=e.count,i=void 0===r?1:r,a=e.duration;return{transaction:t,span:n,samples:{"span.self_time.count":re(i),"span.self_time.sum.us":re(a)}}}var ae=function(t){var e,n;function r(e,n,r){var i;return(i=t.call(this,e,n,r)||this).traceId=T(),i.marks=void 0,i.spans=[],i._activeSpans={},i._activeTasks=new Set,i.blocked=!1,i.captureTimings=!1,i.breakdownTimings=[],i.sampled=Math.random()<=i.options.transactionSampleRate,i}n=t,(e=r).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var i=r.prototype;return i.addMarks=function(t){this.marks=j(this.marks||{},t)},i.mark=function(t){var e=P(t),n=R()-this._start,r={};r[e]=n,this.addMarks({custom:r})},i.canReuse=function(){var t=this.options.reuseThreshold||5e3;return!!this.options.canReuse&&!this.ended&&R()-this._starts?(c+=o-s,s=a):a>s&&(s=a);return se.max&&(e.max=s),c.length>0){var d=c[0],p=d.name,l=d.containerType,v=d.containerName,h=d.containerId,g={attribution:p,type:l};v&&(g.name=v),h&&(g.id=h),f.addContext({custom:g})}f.end(u),n.push(f)}return n}(r,oe.longtask),marks:{}};if(!n)return i;var a=t.getEntriesByType("largest-contentful-paint"),o=a[a.length-1];if(o){var s=parseInt(o.startTime);oe.lcp=s,i.marks.largestContentfulPaint=s}var c=_.timing,u=c.fetchStart-c.navigationStart,f=t.getEntriesByName("first-contentful-paint")[0];if(f){var d=parseInt(u>=0?f.startTime-u:f.startTime);oe.fcp=d,i.marks.firstContentfulPaint=d}var p=function(t){var e=t[0];if(e){var n=e.startTime,r=e.processingStart,i=new qt("First Input Delay","first-input",{startTime:n});return i.end(r),i}}(t.getEntriesByType("first-input"));return p&&(oe.fid=p.duration(),i.spans.push(p)),function(t){t.forEach((function(t){var e=t.name,n=t.startTime,r=t.duration;if(!(n0&&(oe.tbt.duration+=i)}}))}(r),function(t){t.forEach((function(t){t.hadRecentInput||(oe.cls+=t.value)}))}(t.getEntriesByType("layout-shift")),i}var ce=function(){function t(t){this.po={observe:A,disconnect:A},window.PerformanceObserver&&(this.po=new PerformanceObserver(t))}var e=t.prototype;return e.start=function(t){try{var e=!0;"longtask"===t&&(e=!1),this.po.observe({type:t,buffered:e})}catch(t){}},e.stop=function(){this.po.disconnect()},t}(),ue=function(){function t(t,e){var n=this;this._config=e,this._logger=t,this.currentTransaction=void 0,this.respIntervalId=void 0,this.recorder=new ce((function(t){var e=n.getCurrentTransaction();if(e&&e.captureTimings){var r,i=!1;e.type===K&&(i=!0);var a=se(t,{capturePaint:i}),o=a.spans,s=a.marks;(r=e.spans).push.apply(r,o),e.addMarks({agent:s})}}))}var e=t.prototype;return e.createCurrentTransaction=function(t,e,n){var r=new ae(t,e,n);return this.currentTransaction=r,r},e.getCurrentTransaction=function(){if(this.currentTransaction&&!this.currentTransaction.ended)return this.currentTransaction},e.createOptions=function(t){var e=this._config.config,n=I({transactionSampleRate:e.transactionSampleRate},t);return n.managed&&(n=I({pageLoadTraceId:e.pageLoadTraceId,pageLoadSampled:e.pageLoadSampled,pageLoadSpanId:e.pageLoadSpanId,pageLoadTransactionName:e.pageLoadTransactionName},n)),n},e.startManagedTransaction=function(t,e,n){var r=this.getCurrentTransaction(),i=!1;if(r)if(r.canReuse()&&n.canReuse){var a=r.type,o=Q.indexOf(r.type),s=Q.indexOf(e);o>=0&&s=t._start||e.shouldIgnoreTransaction(r)||"temporary"===i)){if(i===K){var a=e._config.get("pageLoadTransactionName");if("Unknown"===r&&a&&(t.name=a),t.captureTimings){var o=oe.cls,s=oe.fid,c=oe.tbt,u=oe.longtask;c.duration>0&&t.spans.push((d=(f=c).start,p=f.duration,(l=new qt("Total Blocking Time","longtask",{startTime:d})).end(d+p),l)),t.experience={},D("longtask")&&(t.experience.tbt=c.duration),D("layout-shift")&&(t.experience.cls=o),s>0&&(t.experience.fid=s),u.count>0&&(t.experience.longtask={count:u.count,sum:u.duration,max:u.max})}}var f,d,p,l;"Unknown"===t.name&&(t.name=function(t,e){void 0===e&&(e=2);for(var n=new mt(t),r=n.query,i=n.path.substring(1).split("/"),a=/\W|_/g,o=/[0-9]/g,s=/[a-z]/g,c=/[A-Z]/g,u=[],f=!1,d=0;de-1){p&&u.push("*");break}if((p.match(a)||[]).length>=2)u.push(":id"),f=!0;else{var l=(p.match(o)||[]).length;if(l>3||p.length>3&&l/p.length>=.3)u.push(":id"),f=!0;else{var v=(p.match(c)||[]).length,h=(p.match(s)||[]).length/p.length,g=v/p.length;p.length>5&&(g>.3&&g<.6||h>.3&&h<.6)?(u.push(":id"),f=!0):p&&u.push(p)}}}return"/"+(u.length>=2?u.join("/"):u.join(""))+(r?"?{query}":"")}(n)),Vt(t),e.adjustTransactionTime(t),e._config.get("breakdownMetrics")&&t.captureBreakdown();var v=e._config.get("context");wt(t,v),e._config.events.send("transaction:end",[t])}}),(function(t){0}))},e.adjustTransactionTime=function(t){var e=t.spans,n=function(t){for(var e=t[0],n=1;nr._start&&(e=r)}return e}(e);n&&n._startt._end&&(t._end=r._end);for(var i=t._end,a=0;ai&&(o._end=i,o.type+=".truncated"),o._start>i&&(o._start=i)}},e.shouldIgnoreTransaction=function(t){var e=this._config.get("ignoreTransactions");if(e&&e.length)for(var n=0;n0&&(o+=r.join(", ")+" is missing",i.length>0&&(o+=", ")),i.forEach((function(t,e){var n=t.key,r=t.value,a=t.allowed;o+=n+' "'+r+'" contains invalid characters! (allowed: '+a+")"+(e!==i.length-1?", ":"")})),a.error(o),e.setConfig({active:!1})}},e.setUserContext=function(t){this.serviceFactory.getService("ConfigService").setUserContext(t)},e.setCustomContext=function(t){this.serviceFactory.getService("ConfigService").setCustomContext(t)},e.addLabels=function(t){this.serviceFactory.getService("ConfigService").addLabels(t)},e.setInitialPageLoadName=function(t){this.serviceFactory.getService("ConfigService").setConfig({pageLoadTransactionName:t})},e.startTransaction=function(t,e,n){if(this.isEnabled())return this.serviceFactory.getService("TransactionService").startTransaction(t,e,n)},e.startSpan=function(t,e,n){if(this.isEnabled())return this.serviceFactory.getService("TransactionService").startSpan(t,e,n)},e.getCurrentTransaction=function(){if(this.isEnabled())return this.serviceFactory.getService("TransactionService").getCurrentTransaction()},e.captureError=function(t){if(this.isEnabled())return this.serviceFactory.getService("ErrorLogging").logError(t)},e.addFilter=function(t){this.serviceFactory.getService("ConfigService").addFilter(t)},t}();var pe=function(){if(y&&window.elasticApm)return window.elasticApm;var t=dt(),e=fe(),n=new de(e,!t);return y&&(window.elasticApm=n),n}(),le=pe.init.bind(pe);e.default=le}]); //# sourceMappingURL=elastic-apm-rum.umd.min.js.map